function LoginHandler() {
};

LoginHandler.instance = new LoginHandler();

/**
 * 注销系统
 * @param {} isBtnClick
 */
LoginHandler.logout = function(isBtnClick) {
	if(isBtnClick){
		mini.confirm("确认退出系统？" ,"系统提示",
			function(action, value){
				if (action == "ok") {
					LoginHandler.doLogOut();
				} 
			}
		)
	}else{
		MiniuiTools.miniInfo("系统提示", "用户会话已超时！", function(){
			LoginHandler.doLogOut();
		});
	}
};

/**
 * 执行登出处理程序
 */
LoginHandler.doLogOut = function(){
	$.ajax({
		type: 'POST',
		dataType: 'text',
		url: __root + "/userController",
		data: {
			method : 'logout'
		},
		success: function(text) {
			window.location = "../index.jsp";
		},
		error: function(e, errtxt) {
			window.location = "../index.jsp";
		}
	});
}

/**
 * 修改密码
 * @return
 */
LoginHandler.modifyPassword = function() {
	mini.alert("修改密码");
	//TODO 
};

/**
 * 保存密码
 * @return
 */
LoginHandler.savePassword = function() {
	mini.alert("保存密码！//TODO");
	if (false) {
		var pf = {};	//密码修改表单 TODO 
		pf.method = 'modifyPassword';
		
		$.ajax( {
			type: 'POST',
			dataType: 'json',
			url: __root + "/userController",
			data: pf,
			success: function(json) {
				mini.alert("保存密码！//TODO");
				return;
			},
			error: function(e, errtxt) {
				mini.alert("系统错误：" + errtxt);
				return;
			}
		});
	}
};

LoginHandler.login = function() {
	// 获取整个表单
	var form = new mini.Form("#loginWindow");
    form.validate();
	// 客户端验证
	if (form.isValid()) {
        loginWindow.hide();
        var fdata	= form.getData();
        fdata.method = "login";
		//显示登录过程对话框
        var msgId = mini.loading("正在验证用户和密码，请等待...", "登录验证中...");
        
		$.ajax( {
			type: 'POST',
			dataType: 'json',
			url: __root + "/userController",
			data: fdata,
			success: function(json) {
				mini.hideMessageBox(msgId);
				if (json.userId) {
					window.location = "web/main.jsp";
				} else {
					var loginWindow = mini.get("loginWindow");
			        loginWindow.show();
					mini.alert("登录失败，用户或密码错误！");
				}
				return;
			},
			error: function(e, errtxt) {
				mini.hideMessageBox(msgId);
				var loginWindow = mini.get("loginWindow");
		        loginWindow.show();
				mini.alert("系统错误：" + errtxt);
				return;
			}
		});
	}
};

/**
 * 关于对话框显示
 * @return
 */
LoginHandler.about = function() {
	mini.alert('about //TODO');
};

if(document.addEventListener){
   document.addEventListener("keypress", EventHandler, false);    
}else{    
   document.attachEvent("onkeypress", EventHandler);    
}
 
function EventHandler(evt){   
   var form = new mini.Form("#loginWindow");
   var userId = mini.get("userId");
   var password = mini.get("password");
   
   if (evt.keyCode == 13){
	   if(userId.field == document.activeElement) {
		   password.focus();
	   }
	   if(password.field == document.activeElement) {
		   password.blur();
	   }
	   
	   if(form.isValid()){
	   	   LoginHandler.login();
	   }
	   
   }
} 